/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package upeu.cepre.business;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.List;
import upeu.cepre.model.DetalleSedeTrabajador;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import upeu.cepre.util.DataBaseConexion;

/**
 *
 * @author Elvis Zanguetsu
 */
public class DetalleSedeTrabajadorManager {

    public Connection connection;

    public List<DetalleSedeTrabajador> Report() {

        List<DetalleSedeTrabajador> detalleSedeTrabajadores = new ArrayList<DetalleSedeTrabajador>();
        try {

            connection = DataBaseConexion.getConexion();
            Statement statement = connection.createStatement();
            ResultSet rs = statement.executeQuery("select * from detallesedetrabajador");
            while (rs.next()) {
                DetalleSedeTrabajador detalleSedeTrabajador = new DetalleSedeTrabajador();

                detalleSedeTrabajador.setIdDetalleSedeTrabajador(rs.getString("idDetalleSedeTrabajador"));
                detalleSedeTrabajador.setIdDetallePeriodoTrabajador(rs.getString("idDetallePeriodoTrabajador"));
                detalleSedeTrabajador.setIdDetallePeriodoSede(rs.getString("idDetallePeriodoSede"));

                detalleSedeTrabajadores.add(detalleSedeTrabajador);
            }
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return detalleSedeTrabajadores;
    }

    public DetalleSedeTrabajador finById(String idDetalleSedeTrabajador) {
        DetalleSedeTrabajador detalleSedeTrabajador = new DetalleSedeTrabajador();
        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement = connection.prepareStatement("select * from detallesedetrabajador where idDetalleSedeTrabajador=?");
            preparedStatement.setString(1, idDetalleSedeTrabajador);
            ResultSet rs = preparedStatement.executeQuery();

            if (rs.next()) {
                detalleSedeTrabajador.setIdDetalleSedeTrabajador(rs.getString("idDetalleSedeTrabajador"));
                detalleSedeTrabajador.setIdDetallePeriodoTrabajador(rs.getString("idDetallePeriodoTrabajador"));
                detalleSedeTrabajador.setIdDetallePeriodoSede(rs.getString("idDetallePeriodoSede"));
            }
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return detalleSedeTrabajador;
    }

    public DetalleSedeTrabajador finByIdPerTrabajador(String idDetallePeriodoTrabajador) {
        DetalleSedeTrabajador detalleSedeTrabajador = new DetalleSedeTrabajador();
        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement = connection.prepareStatement("select * from detallesedetrabajador where idDetallePeriodoTrabajador=? ");
            preparedStatement.setString(1, idDetallePeriodoTrabajador);
            ResultSet rs = preparedStatement.executeQuery();

            if (rs.next()) {
                detalleSedeTrabajador.setIdDetalleSedeTrabajador(rs.getString("idDetalleSedeTrabajador"));
                detalleSedeTrabajador.setIdDetallePeriodoTrabajador(rs.getString("idDetallePeriodoTrabajador"));
                detalleSedeTrabajador.setIdDetallePeriodoSede(rs.getString("idDetallePeriodoSede"));
            }
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return detalleSedeTrabajador;
    }

    public String ObtenerId() {

        java.util.Date ahora = new java.util.Date();
        SimpleDateFormat formateador = new SimpleDateFormat("ddMMyyyy");
        DetalleSedeTrabajadorManager trabManager = new DetalleSedeTrabajadorManager();
        int a = trabManager.Report().size();
        return formateador.format(ahora) + "DetalleSedeTrabajador" + (a + 1);

    }
    
    
    public void Add(DetalleSedeTrabajador detalleSedeTrabajador) {
        try {
            connection = DataBaseConexion.getConexion();
            PreparedStatement preparedStatement =
                    connection.prepareStatement(
                    "INSERT INTO detallesedetrabajador ( idDetalleSedeTrabajador , idDetallePeriodoTrabajador , idDetallePeriodoSede ) VALUES (?,?,?)");

            preparedStatement.setString(1, detalleSedeTrabajador.getIdDetalleSedeTrabajador());
            preparedStatement.setString(2, detalleSedeTrabajador.getIdDetallePeriodoTrabajador());
            preparedStatement.setString(3, detalleSedeTrabajador.getIdDetallePeriodoSede());
       
            preparedStatement.executeUpdate();
            connection.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }


    }

}
